In present computing systems, computer graphics is being utilized in a wide variety of applications such as in business, science, animation, simulation, computer-aided design, process control, electronic publication, and the like. In its most rudimentary form, a simple computer-generated object may be specified by its vertices. For example, a triangle may be represented by its three vertices. In this example, edges of the triangle may be determined by interpolating straight lines between the vertices. A viewport may be used to restrict the two dimensional region in which such a triangle is displayed.
When displayed on two dimensional screen, the preceding example of the triangle has width and height, but with no depth. While rendering the triangle, depth is used to determine whether triangles occlude each other or intersect. For 3D models, the triangle vertices are specified using (X, Y, Z) coordinates in a world coordinate space. These are processed to produce a two dimensional triangle in the coordinate space of the display screen, together with a depth value at each vertex. This processing may include specifying a view volume that clips the triangle based on depth.
Depth values (also called Z values) at individual pixels covered by the triangle are typically computed by linearly interpolating the depth values at the vertices, in the same way that colors at pixels covered by the triangle are computed by interpolating colors specified at the vertices. These depth values may be compared to determine which triangle is nearer to the viewer at each rendered pixel. Since three points determine a plane, linear interpolation between the three vertices of a triangle produces a plane in the (X, Y, Z) coordinate space. This is referred to as the Z-plane of the triangle.
The Detailed Description references the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to references like features and components.